import 'dart:math';

import 'package:flutter/material.dart';

class BuildingList extends StatefulWidget {
  BuildingList({super.key, required this.point});
  // 小区信息
  String point;

  @override
  State<BuildingList> createState() => _RoomListState();
}

class _RoomListState extends State<BuildingList> {
  Map data = {
    "point": "", // 记录小区信息
    "size": 0, // 随机产生楼栋的数量
    "type": "", // 小区的楼栋名称(size>4 单元, size<=4 号楼)
  };

  @override
  void initState() {
    super.initState();
    // 生成小区名称
    data['point'] = widget.point;
    // 伪造数据
    fakeData();
  }

  // 伪造数据
  fakeData() {
// 随机生成楼栋数量3-8
// 数据<5,为单元
// 数据>=5,为楼栋
    int size = Random().nextInt(6) + 3;
    String type = size > 4 ? '单元' : '号楼';
    //  更新数据
    setState(() {
      data['size'] = size;
      data['type'] = type;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: const Text('选择楼栋'),
        ),
        body: ListView.builder(
          itemBuilder: (BuildContext context, int index) {
            return Container(
                color: Colors.white,
                padding: const EdgeInsets.all(10),
                child: GestureDetector(
                    onTap: () {
                      Navigator.pushNamed(context, '/room_list', arguments: {
                        'point': data['point'],
                        'building': '${index + 1}${data['type']}'
                      });
                    },
                    child: Row(children: [
                      Expanded(
                          child: Text(
                              '${data['point']}${index + 1}${data['type']}')),
                      const Row(children: [
                        Icon(Icons.arrow_forward_ios,
                            size: 16, color: Colors.black),
                      ])
                    ])));
          },
          itemCount: data['size'],
        ));
  }
}
